package com.bingxue.edu.management.generator.service;

import com.bingxue.edu.management.generator.model.resp.GeneratePreviewResp;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;

/**
 * 代码生成业务接口
 *
 * @author panbo
 * @since 2024/7/7
 */
public interface GeneratorService {

    /**
     * 生成预览
     *
     * @param tableName 表名称
     * @return 预览信息
     */
    List<GeneratePreviewResp> preview(String tableName);

    /**
     * 生成并下载代码
     *
     * @param tableNames 表名称
     * @param request    请求对象
     * @param response   响应对象
     */
    void download(List<String> tableNames, HttpServletRequest request, HttpServletResponse response);

    /**
     * 生成代码
     * @param tableNames 表名称
     */
    void generate(List<String> tableNames);

}
